import trigger from '../../effect/trigger.js';
import { TriggerOpTypes } from '../../utils/index.js';
/**
 * 删除属性的处理函数
 * @param {*} target 目标对象
 * @param {*} key 属性名
 * @returns {boolean} 是否删除成功
 */
export default function deleteHandler(target, key) {
  // 检查属性是否存在
  if (!target.hasOwnProperty(key)) {
    return true;
  }
  const res = Reflect.deleteProperty(target, key);
  if (res) {
    trigger(target, TriggerOpTypes.DELETE, key);
  }
  return res;
}
